$(function(){ try { loginInputHint(); } catch (e) {} try { loginToggle(); } catch (e) {} try { modSlide("slideCtn", "slideCtrl", 3000); } catch (e) {} try{ fireLoginToggle && fireLoginToggle(); }catch(e){} }); function modSlide(ctnsId, ctrlsId, interval, mode){ var $slideCtns = $("#" + ctnsId + ">li"), $slideCtrls = $("#" + ctrlsId + ">a"), currentSlide = 0, mode = !mode ? "default" : mode, nextSlide = function(){ showSlide((currentSlide + 1) % $slideCtrls.length); }, startAutoSlide = function(){ return setInterval(nextSlide, interval); }, stopAutoSlide = function(){ clearInterval(intervalId); }, initCtrlHover = function(){ $slideCtrls.hover(function(){ stopAutoSlide(); var index = $slideCtrls.index(this); showSlide(index); }, function(){ intervalId = startAutoSlide(); }); }, showSlide = function(index){ if (mode == "default"){ $slideCtns.removeClass("current"); $($slideCtns[index]).addClass("current"); $slideCtrls.removeClass("on"); $($slideCtrls[index]).addClass("on"); currentSlide = index; } else if (mode == "fade"){ var $h = $($slideCtns[currentSlide]); var $s = $($slideCtns[index]); $slideCtns.stop(); $h.fadeTo(200, 0.9, function(){ $h.hide(); $s.css("opacity", 0.8).show().fadeTo(200, 1); $slideCtrls.removeClass("on"); $($slideCtrls[index]).addClass("on"); currentSlide = index; }); } }; var intervalId = startAutoSlide(); initCtrlHover(); } function loginInputHint(){ $userName = $("#txtUserName"); $lblUserName = $("#lblUserName"); $pwd = $("#txtPwd"); $lblPwd = $("#lblPwd"); $imei = $("#txtImei"); $lblImei = $("#lblImei"); $pwd2 = $("#txtPwd2"); $lblPwd2 = $("#lblPwd2"); delayedCheckInputHint(); if($.browser.msie && parseInt($.browser.version, 10) < 9){ $userName[0].onpropertychange = checkInputHint; $pwd[0].onpropertychange = checkInputHint; $imei[0].onpropertychange = checkInputHint; $pwd2[0].onpropertychange = checkInputHint; } else if($.browser.webkit){ setInterval(checkInputHint, 888); } else{ $userName[0].oninput = delayedCheckInputHint; $pwd[0].oninput = delayedCheckInputHint; $imei[0].oninput = delayedCheckInputHint; $pwd2[0].oninput = delayedCheckInputHint; } $userName.on("focus", checkInputHint).on("blur", checkInputHint); $pwd.on("focus", checkInputHint).on("blur", checkInputHint); $imei.on("focus", checkInputHint).on("blur", checkInputHint); $pwd2.on("focus", checkInputHint).on("blur", checkInputHint); } function delayedCheckInputHint(){ setTimeout(checkInputHint, 35); } function checkInputHint(){ if ($userName.val() == "" && $userName[0] != document.activeElement) $lblUserName.show(); else $lblUserName.hide(); if ($pwd.val() == "" && $pwd[0] != document.activeElement) $lblPwd.show(); else $lblPwd.hide(); if ($imei.val() == "" && $imei[0] != document.activeElement) $lblImei.show(); else $lblImei.hide(); if ($pwd2.val() == "" && $pwd2[0] != document.activeElement) $lblPwd2.show(); else $lblPwd2.hide(); } var g = { dataTracks : {} }; var o = { timeToNum : function(t){ return new Date((t.split("."))[0].replace(/-/g, "/")); }, sortDevices: function(arr){ var len = arr.length; for(var i=0;i o.timeToNum(arr[j + 1].heart_time)) { var t = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = t; } } } }, filterDevices: function(arr){ o.sortDevices(arr); var end = arr.length - 10; if (end < 0) end = 0; arr.splice(0, end); for(var i = 0; i < arr.length; i++){ arr[i].address = "加载中..."; } }, parseData : function(obj){ if(!obj){return;} var key = obj.key, data = obj.records, flag = false, _dataTracks = {}; var pushData = []; for(var i=0,len=data.length;i10){ pushData.push(_itemPushData) //} } g.dataTracks = _dataTracks; pushDevices({list:pushData}); pushData = []; }, parseOldData : function(obj){ if(!obj){return;} var key = obj.key, data = obj.records, _dataTracks = {}; var pushData = []; for(var i=0,len=data.length;i10){ pushData.push(_itemPushData) //} } } pushDevices({list:pushData}); pushData = []; } }; var _devices; var _deviceNames; pushDevices.time = 0; function pushDevices(devices){ pushDevices.time += 1; var ids = ""; for (var i = 0; i < devices.list.length; i++){ ids += (devices.list[i].user_id + ","); } o.filterDevices(devices.list); if(top.mds) var par = "&mds="+top.mds $.ajax({ dataType: "json", cache: false, url: "/GetDataService.aspx?method=getUserName&ids="+ids+par, success: function(data){ //推送车辆名称数据到地图iframe中 try{ document.getElementById('index_map_iframe').contentWindow.loader.refreshUserName(data); }catch(e){} _deviceNames = data; _devices = devices; _devices.current = -1; initDevices(); if(pushDevices.time == 1){ //initDevices(); setInterval(function(){ if (_devices.list.length - 1 <= _devices.current) return; var item = _devices.list[_devices.current + 1]; slideDevice(item); }, 3500); } } }); } function slideDevice(item){ var strHtml = getDeviceHtml(item); var $con = $("#devices"); var $devices = $("#devices dl"); $(strHtml).insertBefore($devices.first()); $con.css("top", "-92px"); $con.animate({top:"0"}, 1588, "linear", function(){ $devices.last().remove(); }); _devices.current += 1; getLocation(item); } var getTimeDiff = function(t1,t2){ var getSeconds = function(t){ return (new Date((t.split("."))[0].replace(/-/g, "/"))); }; var timeDiff = getSeconds(t1) - getSeconds(t2); if(timeDiff < 0) timeDiff = 1; var s = timeDiff/1000; if(s < 60) return s + "秒"; if(s < 3600) return Math.floor(s / 60) + "分钟"; if(s < 3600 * 24) return Math.floor(s / 3600) + "小时"; return Math.floor(s / (3600 * 24)) + "天"; }; function getDeviceHtml(item){ var getStaticArr = getStatic(item.datetime, item.servertime, item.sys_time, item.heart_time); var endServerTimeCount = -60 * 60 * 24 * 30; var _arr = status_(getStaticArr[0], Number(item.speed), getStaticArr[1], endServerTimeCount); var deviceName = !_deviceNames ? "*****" : _deviceNames[item.user_id]; return '
'+deviceName+'
时间:'+getTimeDiff(item.servertime,item.heart_time) +'前
速度:'+_arr[2]+'km/h('+_arr[1]+')
航向:' +getHangXiang(item.course,item.speed)+'
地址:'+item.address+'
'; } function initDevices(){ var htmlStr = ''; var list = _devices.list; var len = _devices.list.length; if (len > 4) len = 4; for(var i = len - 1; i >= 0; i--){ var item = list[i]; htmlStr += getDeviceHtml(item); } $("#devices").html(htmlStr); _devices.current = 3; setTimeout(function(){ for(var i = len - 1; i >= 0; i--){ getLocation(list[i]) } }, 30); } /**** 地址转换需要更换 ***/ function getLocation(item){ $.ajax({ dataType: "jsonp", cache: false, url: "http://poi.18gps.net/poi?lat=" + item.weidu + "&lon=" + item.jingdu + "&map=google", success: function(data){ if(!data){ getLocationOsm(item); return;} item.address = data; $("#add" + item.user_id).text("地址:" + data).attr("title", data); } }); } function getLocationOsm(item){ jQuery.ajax({ url: 'http://nominatim.openstreetmap.org/reverse?format=json&lat='+item.weidu+'&lon='+item.jingdu +'&zoom=18&addressdetails=0', dataType: 'jsonp', jsonp: 'json_callback', success: function(obj){ item.address = obj.display_name; $("#add" + item.user_id).text("地址:" + obj.display_name).attr("title", obj.display_name); } }); } function loginToggle(){ loginToggle.flip = 0; var $box = $("#loginBox"); var $toggle =$("#loginToggle"); var $header_bg = $("#header_bg"); $toggle.on("click", function(){ if(loginToggle.flip % 2 == 0){ $box.animate({right:"0px"}, 300, function(){ $toggle.css("background", 'url("home/default_'+language+'_image/login_bg.png")'); }); } else{ $box.animate({right:"-238px"}, 300, function(){ $toggle.css("background", 'url("home/default_'+language+'_image/login_toggle.png?v=2")'); }); } loginToggle.flip += 1; }); } function fireLoginToggle(){ if(loginToggle.flip % 2 == 0) $("#loginToggle").trigger("click"); }